The present invention relates generally to adaptive filters, and more particularly to a technique for gauging the convergence of an adaptive filter arrangement capable of canceling echo signals.
In the field of telecommunications, such as with speakerphones and in cellular telephony, it is often desirable to allow a user to operate communication equipment, without requiring the continued occupation of one or more of the user's hands. This can be an important factor in environments, such as automobiles, where a driver's preoccupation with holding telephone equipment may jeopardize not only his or her safety, but also the safety of others who share the road.
To accommodate these important needs, so-called "hands-free" telephone equipment has been developed, in which various telephone components are mounted within the hands-free environment, thereby obviating the need to hold them. For example, in an automobile application, a cellular telephone's microphone might be mounted on the sun visor, while the loudspeaker may be a dash-mounted unit, or may be one that is associated with the car's stereo equipment. With components mounted in this fashion, a cellular phone user may carry on a conversation without having to hold the cellular unit or its handset.
One problem with a hands-free arrangement is that the microphone tends to pick up sound from the cellular telephone's remote loudspeaker, in addition to the voice of the cellular telephone user. Because of delays introduced by the communications system as a whole, the sound from the loudspeaker may be heard by the individual on the other end of the call (the so-called "far end") as an echo of his or her own voice. Such an echo degrades audio quality and its mitigation is desirable. Solutions for ameliorating the echo include utilizing an adaptive echo cancellation filter or an echo attenuator.
An exemplary "hands-free" mobile telephone, having a conventional echo canceler, in the form of an adaptive filter arrangement, is depicted in FIG. 1. A hands-free communications environment may be, for example, an automotive interior in which the mobile telephone is installed. Such an environment can cause effects on an acoustic signal propagating therein, which effects are typically unknown. Henceforth, this type of environment will be referred to throughout this specification as an unknown system H(z). The microphone 105 is intended for detecting a user's voice, but may also have the undesired effect of detecting audio signals emanating from the loudspeaker 109. It is this undesired action that introduces the echo signal into the system. An echo cancellation circuit 100 can be provided that cancels the echo component contained in a signal generated by a microphone 105. The echo cancellation circuit 100 can be implemented in a digital signal processor (DSP). A signal 120, received by the microphone 105, is amplified by amplifier 122 and converted to a digital format by analog-to-digital (A/D) converter 124. The digitized microphone signal 126 is provided to the echo cancellation circuit 100 for echo processing and eventual transmission by the transceiver 110. An input signal 112, received by the transceiver 110, is converted to a digital format by an A/D converter 132, and the digitized input signal 134 is then provided to the echo cancellation circuit 100. The digitized input signal 134 is sampled within the echo cancellation circuit 100 by a least mean square (LMS) cross correlator 103 and an adaptive finite impulse response (FIR) filter 101. The digitized input signal 134 is then output from the echo cancellation circuit 100 to a digital-to-analog (D/A) converter 136 and then to an amplifier 138, before being provided to a loudspeaker 109. An output signal 130, generated by the echo cancellation circuit 100, is provided to the transceiver 110 following digital-to-analog conversion by D/A converter 132. The transceiver 110 communicates with a base station (not shown).
In operation, the adaptive finite impulse response (FIR) filter 101 generates an echo estimate signal 102, which is commonly referred to as a u signal. The echo estimate signal 102 is the convolution of the digitized input signal 134, and a sequence of m filter weighting coefficients (h.sub.i) of the filter 101 (See Equation 1). ##EQU1## where x(n) is the input signal,
m is the number of weighting coefficients, and PA1 n is the sample number. PA1 x(n) is the digitized input signal 134, PA1 (h.sub.i) is a filter weighting coefficient, PA1 i designates a particular coefficient, PA1 m is the number of coefficients, PA1 n is the sample number, and PA1 .mu. is a step or update gain parameter.
When the weighting coefficients are set correctly, the filter 101 produces an impulse response that is approximately equal to the response produced by the loudspeaker 109 within the unknown system H(z). The echo estimate signal 102 generated by the filter 101, is subtracted from the incoming digitized microphone signal 126 (designated u(n) in Equation 2), to produce an error signal e(n) 107 (see Equation 2). EQU e(n)=u(n)-u(n) Equation 2
Ideally, any echo response from the unknown system H(z), introduced by the loudspeaker 109, is removed from the digitized microphone signal 126 by the subtraction of the echo estimate signal 102. Typically, 200 to 400 weighting coefficients (henceforth referred to as "coefficients") are required for effectively canceling an echo in a typical hands-free environment.
It can be seen that the effectiveness of the echo canceler is directly related to how well the filter 101 is able to replicate the impulse response of the unknown system H(z). This, in turn, is directly related to the set of coefficients, h.sub.i, maintained by the filter 101.
It is advantageous to provide a mechanism for dynamically altering the coefficients, h.sub.i, to allow the filter 101 to adapt to changes in the unknown system H(z). In a car having a hands-free cellular arrangement, such changes may occur when a window or car door is opened or closed. A well-known coefficient adaptation scheme is the Least Mean Square (LMS) process, which was first introduced by Widrow and Hoff in 1960, and is frequently used because of its efficiency and robust behavior. As applied to the echo cancellation problem, the LMS process is a stochastic gradient step method which uses a rough (noisy) estimate of the gradient, g(n)=e(n)x(n), to make an incremental step toward minimizing the energy of an echo signal in a microphone signal, e(n), where x(n) is in vector notation corresponding to an expression x(n)=[x(n) x(n-1) x(n-2) . . . x(n-m+1)]. The update information produced by the LMS process e(n)x(n) is used to determine the value of a coefficient in a next sample. The expression for calculating a next coefficient value h.sub.i (n+1) is given by: EQU h.sub.i (n+1)=h.sub.i (n)+.mu.e(n)x(n-i), i=0 . . . m-1 Equation 3
where
The LMS method produces information in incremental portions each of which portions may have a positive or a negative value. The information produced by the LMS process can be provided to a filter to update the filter's coefficients.
Referring back to FIG. 1, the conventional echo cancellation circuit 100 includes an LMS cross correlator 103 for providing coefficient update information 104 to the filter 101. In this arrangement, the LMS cross correlator 103 monitors the corrected signal 107 that represents the digitized microphone signal 126 minus the echo estimate signal 102 generated by the filter 101. The echo estimate signal 102 is generated, as described above, with the use of update information 104 provided to the filter 101 by the LMS cross correlator 103. The coefficients, h.sub.i, of the filter 101, accumulate the update information 104 as shown by Equation 3.
In the conventional echo canceler circuit depicted in FIG. 1, a noticeable amount of time may be required before the FIR filter's coefficients have been sufficiently adjusted to provide a reasonable approximation of the impulse response of the unknown system H(z). Once the echo canceler circuit has adjusted sufficiently to provide a reasonable approximation of the impulse response of the unknown system, the system is said to have "converged." Before and during adaptation (i.e., prior to convergence), the filter 101 generally does not perform as well as when it is converged. For example, in the depicted echo cancellation arrangement, a residual echo may still be heard at the far-end while the system undergoes adaptation. Therefore, during adaptation it may be desirable to provide supplemental processing (e.g., echo suppression), in order to suppress the echo during this adaptation interval. This may simply involve attenuating the microphone signal, which not only reduces the echo component, but also has the detrimental effect of diminishing the desired speech signal from a user in the hands-free environment. Hence, it is desirable to know when adaptation has completed, that is, when the filter 101 has converged, in order to determine when to disengage the supplemental echo suppression processing.